home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / rbbs_pc / rbbs_utl.zip / MU-PURGE.DOC < prev    next >
Text File  |  1987-05-30  |  25KB  |  925 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.                                    MU-PURGE   v3.0
  20.                            for the  RBBS-PC message system
  21.                                  v  CPC12-3B  &  up
  22.                             (C)  Copyright  1985, 86, 87
  23.  
  24.  
  25.  
  26.  
  27.  
  28.                                     Kim E. Wells
  29.                                 1206 Pickering Circle
  30.                               Upper Marlboro, MD, 20772
  31.                            D:301-350-1299  V:301-350-4570
  32.                               SEAdog / FidoNet 109/652
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.                                         1
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.      -- RBBS Compatibility --
  74.  
  75.           This program has been tested with all versions of the RBBS-PC
  76.      conference and user files from CPC12.3B to CPC15.1A
  77.  
  78.  
  79.  
  80.      -- Introduction --
  81.  
  82.           MU-PURGE.EXE in conjunction with its .DOC file is a program to purge
  83.      the RBBS-PC conference and user type files of killed msgs and old or
  84.      inactive users independently of CONFIG.EXE.  In doing so, MU-PURGE
  85.      simplifies system maintenance since it can be used as a free standing
  86.      program or executed via a batch file.
  87.  
  88.           It was originally conceived to solve two different problems:
  89.  
  90.           1.  To fix a message file which contained blank records for Dave
  91.      William's Amateur Radio RBBS in Billings Montana(406-656-8124)
  92.  
  93.           2.  To be able to have the message file on my RBBS purged while I was
  94.      out of town for several days at a time.
  95.  
  96.           Prior to the release of RBBS Version CPC 12-3A, message file purging
  97.      code was contained in RBBS-PC.EXE, then removed and placed into CONFIG.EXE.
  98.      Since CONFIG.EXE can not be executed via modem, remote sysops can not purge
  99.      the message file as they once could when the code was included in RBBS-PC.
  100.  
  101.           MU-PURGE has been in use on my 24 hour, 60 call a day RBBS and
  102.      executed from an "EBL" (Extended Batch Language) batch file since it was
  103.      first written in early May 1985.
  104.  
  105.  
  106.  
  107.      -- Implementation --
  108.  
  109.           MU-PURGE can be used as a free standing program to purge the message
  110.      and user files or it can used in a DOS or EBL batch file.   Execution via
  111.      either method is the same.  On the command line you supply the name MU-
  112.      PURGE and the name of the message or user file you want purged.If necessary
  113.      you may need to supply the drive and the file extension if appropriate.
  114.      You must supply a valid filespec in order for MU-PURGE to work.  This
  115.      program is so written not to make any assumptions.
  116.  
  117.           To execute MU-PURGE.EXE one need only specify the following at the DOS
  118.      Prompt:
  119.  
  120.           For Message files:
  121.  
  122.           A:MU-PURGE MESSAGES /MSG:        or
  123.           A:MU-PURGE E:Messages /MSG:      or
  124.           A:MU-PURGE E:CHESSM.DEF /MSG:
  125.  
  126.  
  127.  
  128.  
  129.  
  130.                                         2
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.           For User files:
  140.  
  141.           A:MU-PURGE USERS /USR:           or
  142.           A:MU-PURGE E:USERS /USR:         or
  143.           A:MU-PURGE E:CHESSU.DEF /USR:
  144.  
  145.           For CONTROL-FILES:
  146.  
  147.           A:MU-PURGE C:\RBBS\DAILY.CTL
  148.  
  149.           Earlier versions of this program required you to have at least the
  150.      same amount of free space on the disk as the size of the message or user
  151.      file you are purging.  Not so with this version.  Several new options have
  152.      been and are implemented with a command line switch.  The most significant
  153.      option is the ability to "PACK IN PLACE" (PIP) any message or user type
  154.      file.  This feature simply shuffles active message records towards the
  155.      beginning of the file by overwriting previously killed messages.  In the
  156.      case of a user file, deleted users records are overwritten with a blank
  157.      record.  Using this method to purge the message file does not leave you
  158.      with a backup file.
  159.  
  160.           Immediately after the first backslash on the commandline, MSG: or USR:
  161.      must be specified.  This tells MU-PURGE what type of file it is.
  162.  
  163.           A complete list of the optional parameters for msg files is as
  164.      follows;
  165.  
  166.           Commands to be placed in  Switch 1;
  167.  
  168.           D###             Purge Msgs over ### days old
  169.           IN               Initialize Node Records
  170.           K                Kill (delete) the back-up file .OLD
  171.           LOG              Log program operations to MU-PURGE.LOG
  172.           NO               No, don't default to PIP
  173.           PIP              Pack-In-Place the  FILESPEC  file
  174.           REMOTE           Send screen output to current DOS console
  175.  
  176.           Commands to be placed in Switch 2;
  177.  
  178.           EF$....$         Exclude from purging a File of To: / From: name(s)
  179.           EF#....#         Exclude from purging a File of Mgs Numbers
  180.           EL$....$         Exclude from purging a To: / From: name(s) listed on
  181.      the commandline
  182.           EL#....#         Exclude from purging a Msg number listed on the
  183.      commandline
  184.           CHR$(#)          Character in subject field that signifies exclusion
  185.  
  186.           Commands to be placed in Switch 3;
  187.  
  188.           NF(....)         Compare NAME FROM in a msg to a selected user file
  189.           NT  "            Compare NAME TO   in a msg to a selected user file
  190.           O   "            Check to see if this message has been read by the
  191.      receiver
  192.  
  193.  
  194.  
  195.  
  196.                                         3
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.           A complete list of the optional parameters for user files is as
  206.      follows;
  207.  
  208.           Commands in Switch 1;
  209.  
  210.           D###             Purge Inactive Users over ### days old
  211.           K                Kill (delete) the back-up file .OLD
  212.           LOG              Log program operations to MU-PURGE.LOG
  213.           NO               No, don't default to PIP
  214.           PIP              Pack-In-Place the  FILESPEC  file
  215.           REMOTE           Same as above.
  216.  
  217.           Commands in Switch 2;
  218.  
  219.           ###              Minimum Logon Security level
  220.           Same as CONFIG.EXE parameter #101
  221.  
  222.           Commands in Switch 3;
  223.  
  224.           ###              Security Level Exempt From Purging
  225.           Same as CONFIG.EXE parameter #117
  226.  
  227.           (msg file spec)  A compatible message file checkpoint record can be
  228.      updated to reflect the current number of users in a user file
  229.  
  230.           Explanation of available commands
  231.  
  232.           D###             Purge Msgs over ### days old"
  233.  
  234.           K                Kill (delete) the back-up file .OLD
  235.  
  236.           Then purging the selected message file in a NON-PIP mode a backup
  237.      message file is created.  You can kill that file with this command.
  238.  
  239.           IN               Initialize Node Records"
  240.  
  241.           Adding the letters "IN" to the first commandline switch
  242.      willreinitialize all of the NODE records in the message file.  This feature
  243.      was added to help those SYSOP's who have had trouble with RBBS doing
  244.      strange things when the node records have been corrupted.
  245.  
  246.           This feature will save them the trouble of having to make a new
  247.      message file or attempt to correct the problem manually.
  248.  
  249.           NO               No, don't default to PIP
  250.  
  251.           If the PIP mode of purging wasn't selected, MU-PURGE will check to see
  252.      if enough free disk space is available to purge by creating a new message
  253.      file.  If enough free disk disk space isn't available the program will
  254.      terminate if NO was specified or it will default back to purging via the
  255.      PIP mode.
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.                                         4
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.           PIP              Pack-In-Place the  FILESPEC  file
  272.  
  273.           Pack-In-Place is purging by rewriting Active Msgs over Killed Msgs.
  274.      This method is rather fast in that MU-PURGE scans the message file looking
  275.      for the first killed msg and THEN starts rewriting over the killed
  276.      messages.
  277.  
  278.           REMOTE           Send screen output to current DOS console
  279.  
  280.           IBM BASIC sends its' screen output directly to screen memory.  By
  281.      specifying on the command REMOTE all output that would normally be written
  282.      to the users local screen will now be written to the current DOS console.
  283.      While MU-PURGE could have been executed after using RBBS SYSOP function 7,
  284.      now they'll be able to see what's happening also.
  285.  
  286.           Dots represent user supplied information
  287.  
  288.           EF$.............$ EXCLUDE a file of NAMES
  289.           EF#.............# EXCLUDE a file of NUMBERS
  290.  
  291.           Between the two dollar and or number signs, you can provide the
  292.      filespec of an ASCII file that contains names or msgs numbers that are to
  293.      be excluded from purging.  A separate file must be used for numbers and
  294.      names.
  295.  
  296.           EL$.............$
  297.           EL#.............#
  298.  
  299.           Similarly you and do the same thing on the commandline with names or
  300.      numbers.  A semicolon is used as a delimiter.  When using the D###
  301.      function to delete msgs that where over ### days old, a way was needed to
  302.      retain certain msgs.  By adding an "EL# or EL$" to the commandline switch
  303.      you can exclude certain messages from purging by either specifying a msg
  304.      number(s) or a name(s) as used in the TO / FROM block  or you specify both
  305.      ways.  Implementation of this function is a little tricky.  Study the
  306.      examples in APPENDIX B.  When using the same exclusion commands in a
  307.      control file, those commands aren't reloaded.  That is, if the first
  308.      message file your purged read a file of names to exclude and the next
  309.      message file is to use the same file of names, that file has been loaded
  310.      once and won't be reread.
  311.  
  312.           CHR$(#)          Character Exclusion
  313.  
  314.           Exclude from purging a To: / From: name(s) listed on the commandline
  315.      or in a file, IF AND ONLY IF the characters "" CHR$(#) "" with some number
  316.      of an ASCII character between the parans, are located in SWITCH2 and that
  317.      equates to the ASCII value of the first character in the subject field.
  318.  
  319.           NF(....)         Compare NAME FROM in a msg to a selected user file
  320.      Message will be purged if the sender isn't in the selected USER file.  A
  321.      msg on the screen will display that the msg was purged, why it was purged
  322.      (RNR ... Receiver Not Registered) and the intended receivers name.
  323.  
  324.  
  325.  
  326.  
  327.  
  328.                                         5
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.           NT  "            Compare NAME TO   in a msg to a selected user file
  338.      Message will be purged if the receiver isn't in the selected USER file. A
  339.      msg on the screen will display that the msg was purged, why it was purged
  340.      (SNR ... Sender Not Registered) and the senders name.
  341.  
  342.           O   "            Check to see if this message has been read by the
  343.      receiver. Message will be purged if and only if the receiver has read the
  344.      message and it is protected.  A msg on the screen will display that the msg
  345.      was purged, why it was purged, (RRM ... Receiver Read Mail) and the
  346.      receivers name and high msg read.
  347.  
  348.           When purging messages that are compared to a users file, the user
  349.      should beware that the SYSOP's real name is rarely, if ever, entered in the
  350.      users files.  Therefore, the SYSOP's real name should always be excluded
  351.      from an automatic purge operation.  The statistics that are displayed at
  352.      the programs end show active and purged messages as well as used and unused
  353.      message records.  The numbers that are displayed may be different then what
  354.      RBBS reports due to RBBS considering node records as message records.  A
  355.      similar situation will appear when purging a USERS file.  MU-PURGE shows
  356.      the totals of active, exempt, and locked-out users which when combined will
  357.      total what RBBS calls the current amount of active users.
  358.  
  359.           Appropriate error messages are generated for abnormal conditions.
  360.  
  361.  
  362.  
  363.      -- Control files --
  364.  
  365.           MU-PURGE can read a list of user and message files that are to be
  366.      purged from a ASCII file that properly contains a list of those files and
  367.      all the required parameters.  All entries in that file are similar in
  368.      structure to those that can be entered on a DOS commandline.  A CONTROL-
  369.      FILE must have a file name extension of ".CTL".  It must not contain any
  370.      blank lines.
  371.  
  372.           SEE APPENDIX B for command parameter examples.
  373.  
  374.           MU-PURGE can be used in a normal DOS batch file, but since DOS batch
  375.      files can't count, an additional program is required to count the number of
  376.      times the batch file has been executed.  See appendix A for a sample batch
  377.      file and program to count execution times.  "EBL" batch files run much
  378.      faster than DOS Batch files.  The advantage to  using "EBL" over DOS batch
  379.      files is not only speed of execution but you no longer need a separate to
  380.      count the number of times the file has executed.  That ability and many
  381.      others are included with "EBL".
  382.  
  383.           It should be noted that familiarity with "EBL" is essential in order
  384.      to correctly drive your RBBS with this type of batch file and "EBL" only
  385.      works with PC-DOS and the IBM Personal Computer or true compatiables.  See
  386.      appendix A for a sample EBL batch file.
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.                                         6
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.      -- Program Limitations: --
  404.  
  405.           1.  ALL the limitations that accompany the use of the Microsoft
  406.      QuickBASIC compiler  version 3.0
  407.  
  408.           2.  MU-PURGE is not medicine to fix a message file that for some
  409.      reason is in an ill state of format.  It is requested that you send me a
  410.      copy of your bad message file on diskette or via upload to my bbs so that I
  411.      can include code in future releases of this program, to fix similar
  412.      problems.
  413.  
  414.  
  415.  
  416.      -- Future Releases --
  417.  
  418.           Future Releases are at irregular intervals as the need arises.  You
  419.      can always get the latest version from my RBBS.  (301-350-1299)
  420.  
  421.  
  422.  
  423.      -- Programming and Compilation --
  424.  
  425.           MU-PURGE was compiled using the Microsoft QuickBASIC Compiler v3.0.
  426.      Several ASM routines from ADVBAS.LIB  by Thomas Hanlin and
  427.  
  428.           Super BASIC LIB by Marilyn Fleming were used to overcome limitations
  429.  
  430.           of BASIC.
  431.  
  432.  
  433.  
  434.      -- Limited License --
  435.  
  436.           This software is copyrighted but a limited license is granted and you
  437.      are free to use and share it under the following conditions:
  438.  
  439.           1.  MU-PURGE v3.0 is not distributed in modified form,
  440.  
  441.           2.  No fee or other consideration is charged for MU-PURGE itself, and
  442.  
  443.           3.  Reference to the copyright and author is retained.
  444.  
  445.           4.  Use of this program to maintain a subscription BBS is prohibited
  446.      without the express permission of the author.
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.                                         7
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.      -- Warranty --
  470.  
  471.           MU-PURGE is provided "AS IS" without warranty of any kind, either
  472.      expressed or implied, including, but not limited to the implied warranties
  473.      of merchantability and fitness for a particular purpose.  The entire risk
  474.      as to the quality and performance of this program is with the user and
  475.      should the program prove defective, the user and not the author will assume
  476.      the entire cost of all necessary remedies.  The author does not warrant
  477.      that the functions contained in the program will meet any users
  478.      requirements or that the operation of the program will be uninterrupted or
  479.      error free.
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.                                         8
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.      -- Acknowledgements --
  536.  
  537.           RBBS-PC  (C)
  538.           D. Thomas Mack
  539.           Address Below
  540.  
  541.           ADVBAS  (C)
  542.           Thomas Hanlin
  543.           Address Below
  544.  
  545.           EXTENDED BAT LANGUAGE  (BAT)   (C)
  546.           Frank Canova
  547.           Seaware Corp   P.O. Box 1656  Delray Beach, Florida 33444
  548.           305-276-5072
  549.  
  550.           IBM
  551.           International Business Machines Inc.
  552.           P.O. Box 1328-S  Boca Raton, Florida  33432
  553.  
  554.           QuickBASIC  (C)
  555.           Microsoft Corp
  556.           16011 NE 36th Way  Box 97017  Redmond, WA. 98073-9717
  557.  
  558.           SuperBASIC (C)
  559.           Fleming Software  PO Box 528  Oakton, Va. 22124
  560.  
  561.           
  562.  
  563.           "Special Thanks" for their ideas and assistance in the preparation and
  564.      testing of this program and its' documentation to:
  565.  
  566.           Roger Fajman     21 Bannister Court, Gaithersburg, Md, 20879
  567.  
  568.           Phil Grier      3375 Sudlerville South, Laurel, Md,  20707
  569.  
  570.           Thomas Hanlin III    6812 Syndenstricken Rd, Springfield, VA. 22152
  571.  
  572.           Tom Mack    10210 Oxfordshire Road, Great Falls, Virginia 22066
  573.  
  574.           Data: 703-759-5049 & 703-759-9659
  575.  
  576.           Tanya Metaska   6112 Thomas Drive, Springfield, Va,  22150
  577.  
  578.           Data: 703-971-4491
  579.  
  580.           Richard Moreland    345 Raven Wing Drive, Porter, Texas, 77365
  581.  
  582.           William Silva    14103 Dub Drive, Laurel, Maryland. 20708
  583.  
  584.           Lori Wells     1206 Pickering Circle, Upper Marlboro, Md.  20772
  585.  
  586.           Dave Williams     11 Gatewood Drive, Billings, Mt, 59102
  587.  
  588.  
  589.  
  590.  
  591.  
  592.                                         9
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.      -- APPENDIX A --    Batch File Information
  602.  
  603.           *** In order for MU-PURGE to be executed from a batch file, Parameter
  604.      #123 in the RBBS-PC Configuration Program "CONFIG.EXE" must have been
  605.      previously set to "SYSTEM" recycle.
  606.  
  607.           Sample DOS Batch file drive RBBS with MU-PURGE
  608.  
  609.           (code for WATCHDOG.COM included)
  610.  
  611.           IF NOT EXIST A:RCTTY.BAT GOTO LOCAL
  612.           A:WATCHDG1 OFF
  613.           DEL A:RCTTY.BAT
  614.           :LOCAL
  615.           IF EXIST BATCH.CTL GOTO SYSTEM
  616.           A:MU-PURGE MESSAGES
  617.           :SYSTEM
  618.           A:BASICA COUNTER    ( *** or   COUNTER.EXE  *** )
  619.           A:RBBS-PC
  620.           IF EXIST A:RCTTY.BAT GOTO REMOTE
  621.           A:RBBS.BAT
  622.           :REMOTE
  623.           A:WATCHDG1 ON
  624.           A:RCTTY.BAT
  625.  
  626.           Sample BASIC Program to count the passes thru a DOS batch file.
  627.  
  628.           1   ON ERROR GOTO 13
  629.           2   OPEN "BATCH.CTL" AS 2
  630.           3   NAME "COUNTER.DAT AS "KIM" :NAME "KIM" AS "COUNTER.DAT"
  631.           5   OPEN "COUNTER.DAT" AS 1 LEN = 4
  632.           6   FIELD 1,2 AS C1$, 2 AS C2$
  633.           7   C1 = VAL(C1$) :C2$ = VAL(C2$)
  634.           8   IF C1 >= C2 THEN CLOSE 2 :KILL "BATCH.CTL"
  635.           9   C1 = C1 + 1
  636.           10  RSET C1$ = STR(C1) :PUT 1,1
  637.           12  SYSTEM
  638.           13  IF ERR = 53 AND ERL = 3 THEN OPEN "COUNTER.DAT" AS 1
  639.           14  FIELD 1, 2 AS C1$, 2 AS C2$
  640.           15  RESET C1$ = "0" :RESET C2$ = "3" :PUT 1,1
  641.           17  RESUME 7
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.                                         10
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.           Sample EXTENDED LANGUAGE BATCH FILE
  668.  
  669.           BAT
  670.           bat %I = 0
  671.           bat -start.over
  672.           bat stateof A:RCCTY.BAT    | if %r = 0  call -sub.local
  673.           RBBS-PC
  674.           BAT
  675.           bat stateof A:RCTTY.BAT    | if %r = 0  goto -sub.remote
  676.           bat %I = %I + 1| if %I =20  call -sub.purge
  677.           bat goto -start.over
  678.  
  679.           bat -sub.purge
  680.           MU-PURGE MESSAGES /K
  681.           MU-PURGE CHESSM.DEF /K
  682.           BAT
  683.           bat %I = 0 | return
  684.  
  685.           bat sub-local
  686.           WATCHDG1 OFF
  687.           Del RCTTY.BAT
  688.           BAT
  689.           bat return
  690.  
  691.           bat -sub.remote
  692.           WATCHDG1 ON
  693.           RCTTY
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.                                         11
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.      -- APPENDIX B --    Command Examples
  734.  
  735.           The general command structure is as follows;
  736.  
  737.           At the DOS prompt type:
  738.  
  739.           MU-PURGE message.filespec /MSG: [option(s)/option(s)/option(s)]"
  740.           where the message.filespec is
  741.  
  742.                [drive:] [path] filename [.filename extension]
  743.  
  744.           
  745.  
  746.           At the DOS prompt type ......
  747.  
  748.           A>MU-PURGE C:MESSAGES /MSG:PIPD45 /EL#1111;2222;3333;4444#
  749.  
  750.           The above command will call MU-PURGE from the default drive A:, purge
  751.      the message file called MESSAGES on the C: drive, invoke a PACK in PLACE
  752.      mode of operation, purge all messages over 45 days old and exclude from
  753.      purging messages 1111, 2222, 3333, 4444 unless anyone of them had been
  754.      previously killed in RBBS.
  755.  
  756.           The syntax for msg pruging exclusion requires that the message
  757.      number(s) must be enclosed with the number sign (#) and the entire list of
  758.      number(s) must be prefaced with an "EL".  Additionally the same applies for
  759.      a list of name(s) which must be enclosed with a dollar sign ($).  To
  760.      implement both functions simply list both on the commandline.
  761.  
  762.           A>MU-PURGE C:MSGS /MSG:PIPD45 /EL#1111#EL$Kim Wells;Dave Willaims$
  763.  
  764.           The above command will do all of the previous example and exclude from
  765.      purging the names Kim Wells and Dave Willaims.  MU-PURGE will convert any
  766.      lower case to UPPER CASE.  A maximum of 100 names and / or  50 numbers can
  767.      be used.
  768.  
  769.           A>MU-PURGE C:MESSAGES /MSG:PIPD45 /EL$Kim Wells$ /NTNFO(H:USERS)
  770.  
  771.           The above command will purge all messages over 45 days old, exclude
  772.      any msg with the name KIM WELLS in it from being purged, and then compare
  773.      msg SENDER'S, RECEIVERS to those names in the selected user file and delete
  774.      the msg(s) if a sender or receiver wasn't found.  Additionally, if a
  775.      receiver had read their protected mail, that msg will be deleted.
  776.  
  777.           A>MU-PURGE C:USERS  /USR:D45 /5 /11 (C:MESSAGES)
  778.  
  779.           The above command will purge the selected users file of anyone who
  780.      hasn't logged on in the last 45 days and update checkpoint record in the
  781.      file C:MESSAGES's to reflect the new user file totals.  Those users who
  782.      have a security level of 5 (locked-out) will be retained as well as those
  783.      with a security level of 11 or greater (purge exempt). Those values for
  784.      your system can be found in CONFIG.EXE parameters numbers #### and ####.
  785.  
  786.  
  787.  
  788.  
  789.  
  790.                                         12
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.           A>MU-PURGE C:DAILY.CTL
  800.  
  801.           The above command will load into memory all the commands found in
  802.      thecontrol file DAILY.CTL
  803.  
  804.           The Following are examples of the two control files that I use. One is
  805.      for daily purging and the second is for monthly purging.
  806.  
  807.           Ex. 1  Daily
  808.  
  809.           H:MESSAGES  /MSG:PIP
  810.           H:TESTM.DEF /MSG:PIP
  811.           H:USERS    /USR:D45 LOG /5 /11 (H:MESSAGES)
  812.           H:MESSAGES /MSG:D45 LOG PIP /EL$KIM WELLS;SYSOP$ /NTO(H:USERS)
  813.  
  814.           **  ALL  MU-PURGE  commands can be stacked after the first slash when
  815.      placed in their proper switch positions.
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.                                         13
  857.  
  858.  
  859.  
  860.  
  861.  
  862.      Ex. 2  Monthly
  863.  
  864.  
  865.      -- APPENDIX C --    Revision Information
  866.  
  867.           Version 3.0   12 Nov 86
  868.  
  869.           1.  Program was completely rewritten
  870.  
  871.           2.  Features to have certain message(s) excluded from purging were
  872.      added.  The user can specify a list of names or numbers on the commandline
  873.      or from a file or both.
  874.  
  875.           3.  Code to purge a user file(s) was added
  876.  
  877.           Version 2.0    8 March 86
  878.  
  879.           1.  Program code was rewritten in the general format that RBBS-PC is
  880.      written in.
  881.  
  882.           2.  Command line switches were added which adds the ability to Pack in
  883.      Place any message type file, eliminating the need for extra disk space;
  884.      Buffering all read/write operations as this  program purges the msg file
  885.      with either type purging mode; deleting messages that are to old based on
  886.      their age in days; and finally  the option of a small opening screen was
  887.      added.
  888.  
  889.           Version 1.2    1 December 85
  890.  
  891.           1.  Each message header is now checked for a valid message number and
  892.      a minimum number of records per message in addition to a valid active /
  893.      killed status flag.  If any of the above are not present or not in proper
  894.      form, the message header and following records are purged until a good
  895.      message header is found.
  896.  
  897.           2.  A possible bug was fixed which could have over written node
  898.      records.
  899.  
  900.           3.  Sample DOS and EBL batch files and the counter program in the
  901.      main doc file were updated.
  902.  
  903.           4.  Program code was made smaller.
  904.  
  905.           Version 1.1   20 October 85
  906.  
  907.           1.  First release
  908.  
  909.           Version 1.0  --------------
  910.  
  911.           1.  If you've got it........I didn't write it.
  912.  
  913.           Kim Wells
  914.  
  915.           *****  End of MU-PURGE  Documentation  *****
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.                                         14
  923.  
  924.  
  925.